package com.yxhl.zoume.data.http.rest.repositoryimpl;

import com.yxhl.protobuf.BizOrderRequest;
import com.yxhl.protobuf.BizOrderResponse;
import com.yxhl.protobuf.IsFerryRequest;
import com.yxhl.protobuf.IsFerryResponse;
import com.yxhl.protobuf.OneYxBusInfoRequest;
import com.yxhl.protobuf.OneYxBusInfoResponse;
import com.yxhl.protobuf.PubEndStationRequest;
import com.yxhl.protobuf.PubEndStationResponse;
import com.yxhl.protobuf.PubLockTicketRequest;
import com.yxhl.protobuf.PubLockTicketResponse;
import com.yxhl.protobuf.PubStartCityRequest;
import com.yxhl.protobuf.PubStartCityResponse;
import com.yxhl.protobuf.YxScheduleRequest;
import com.yxhl.protobuf.YxScheduleResponse;
import com.yxhl.zoume.data.http.repository.busticket.BusTicketRepository;
import com.yxhl.zoume.data.http.rest.repositoryimpl.base.BaseDataRepository;

import javax.inject.Inject;

import retrofit2.http.Body;
import rx.Observable;

/**
 * Created by vhawk on 16/3/20.
 */
public class BusTicketDataRepository extends BaseDataRepository implements BusTicketRepository {

    @Inject
    public BusTicketDataRepository() {
    }

    @Override
    public Observable<PubStartCityResponse> getStartCities(@Body PubStartCityRequest getStartCityParam) {
        return mZouMeService.getStartCities(getStartCityParam);
    }

    @Override
    public Observable<PubEndStationResponse> getArrivalCities(@Body PubEndStationRequest param) {
        return mZouMeService.getArrivalCities(param);
    }

    @Override
    public Observable<YxScheduleResponse> getBusServices(@Body YxScheduleRequest param) {
        return mZouMeService.getBusServices(param);
    }

    @Override
    public Observable<OneYxBusInfoResponse> getBusTicketDetail(@Body OneYxBusInfoRequest param) {
        return mZouMeService.getBusTicketDetail(param);
    }

    @Override
    public Observable<OneYxBusInfoResponse> getZouMeBusDetail(@Body OneYxBusInfoRequest param) {
        return mZouMeService.getZouMeBusDetail(param);
    }

    @Override
    public Observable<IsFerryResponse> checkIsNeedShuttle(@Body IsFerryRequest param) {
        return mZouMeService.checkIsNeedShuttle(param);
    }

    @Override
    public Observable<PubLockTicketResponse> lockTickets(@Body PubLockTicketRequest param) {
        return mZouMeService.lockTickets(param);
    }

    @Override
    public Observable<BizOrderResponse> generateZouMeBusOrder(@Body BizOrderRequest param) {
        return mZouMeService.generateZouMeBusOrder(param);
    }

    @Override
    public Observable<BizOrderResponse> generateSetTimeBusOrder(@Body BizOrderRequest param) {
        return mZouMeService.generateSetTimeBusOrder(param);
    }
}
